// pages/MakingAnOrder/MakingAnOrder.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cont:"",
    username:"",//登录的名字
    orderNumberss: "", //搜索框value
    orderList: [], // 订单列表
    searchPartsList: [], //搜索后的订单列表
    isshow: true, //一开始显示
    isshowTow: false, //搜索后显示
  },
  // 进入订单详情页面
  editorder(event) {
    const item = event.currentTarget.dataset.editorder
    // console.log(item)
    wx.navigateTo({
      url: `/pages/EditOrder/EditOrder?item=${JSON.stringify(item)}`,
    })
  },
  // 搜索
  onSearch(event) {
    // console.log("ppppp")
    // 根据客户名
    this.setData({
      orderNumberss: event.detail // 获取输入框内容
    });
    const searchResult = this.data.orderList.filter(item =>
      item.orderNumber.includes(this.data.orderNumberss)
    );
    if (searchResult.length == 0) {
      this.setData({
        searchPartsList: []
      })
    } else {
      // console.log(9999)
      this.setData({
        searchPartsList: searchResult, // 更新搜索结果
        isshow: false,
        isshowTow: true
      });
    }
  },
  // 取消搜索
  onCancel() {
    this.setData({
      searchPartsList: [], // 更新搜索结果
      isshow: true,
      isshowTow: false,
      orderNumberss:""
    });
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getOrderList()

    const userinfo = wx.getStorageSync('userInfo')
    this.setData({
      username:userinfo.username
    })
    // console.log(userinfo.username)
  },
  // 计算两个日期之间的天数差
  calculateDaysDifference(date1, date2) {
    const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数
    const firstDate = new Date(date1);
    const secondDate = new Date(date2);
    // return Math.round(Math.abs((firstDate - secondDate) / oneDay));
    return Math.round(( secondDate - firstDate) / oneDay); 
  },


  // 请求用户所有订单列表
  getOrderList() {
    const userinfo = wx.getStorageSync('userInfo')
    // console.log(userinfo.username)
    wx.cloud.callFunction({
      name: 'userGetOrderList', // 云函数名称
      data: {
        manufacturerNam: userinfo.username // 替换为实际的制造商名称
      },
      success: res => {
        this.setData({
          orderList: res.result.data,
          cont:res.result.data.length
        })
         // 获取当前时间的日期对象
         const currentDate = new Date();
         // 循环处理每个订单信息
         this.data.orderList.forEach(order => {
           const expectedDeliveryDate = order.expectDeliTime;
           if(order.orderCompleted == 'yes'){
            order.daysOverdue = "  完成  "
          }else{
            // 计算逾期天数
          const daysOverdue = this.calculateDaysDifference(currentDate, expectedDeliveryDate);
          console.log("计算逾期天数",daysOverdue)
          order.daysOverdue = daysOverdue;
          }
         });
          this.setData({
          orderList: res.result.data,
          cont:res.result.data.length
        })
      },
      fail: err => {
        console.error('云函数调用失败', err)
      }
    })
    
  },

  // 查看订单信息
  orderList(event) {
    const item = event.currentTarget.dataset.item
    wx.navigateTo({
      url: `/pages/PartsCatalog/PartsCatalog?orderNumber=${item.orderNumber}&afterSale=${item.afterSale}&user=${item.user}&manufactor=${item.manufactor}`
    })
  },
  
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (typeof this.getTabBar === 'function' &&
    this.getTabBar()) {
    this.getTabBar().setData({
      selected: "06"
    })
  };
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      isshow: true,
      isshowTow: false,
      searchPartsList: []  
    });
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})